home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_400 / 429_01 / chess12 / charui.hpp < prev    next >
C/C++ Source or Header  |  1994-03-30  |  1KB  |  51 lines

  1. #if !defined(CHARUI_HPP)
  2. #define CHARUI_HPP
  3.  
  4. #include "misc.hpp"
  5. #include "brdsize.hpp"
  6.  
  7. // lowest layer of user interface
  8. class CHARUSERIFACE
  9.   {
  10.   private:
  11.     uint cursorMode;
  12.  
  13.   public:
  14.     CHARUSERIFACE(void);
  15.     ~CHARUSERIFACE(void);
  16.  
  17.     CLASSMEMBER void clearScreen(void);
  18.  
  19.     // show a character on the screen
  20.     CLASSMEMBER void showChar
  21.       (
  22.     // position to show the character at
  23.         int row, int col,
  24.         // character to show
  25.         char c,
  26.     // display character in inverse-video?
  27.         BOOL inverse
  28.       );
  29.     
  30.     CLASSMEMBER void showChar(POSITION p, char c, BOOL inverse)
  31.       { showChar(p.row, p.col, c, inverse); return; }
  32.  
  33.     // wait for key press by user, return its code.  codes are
  34.     // ASCII codes for characters corresponding to keys, except for
  35.     // those listed below.
  36.     CLASSMEMBER uint readKey(void);
  37.   };
  38.  
  39. // codes for non-character keys
  40. const uint KEYESC = 0x001B;
  41. const uint KEYENTER = 0x000D;
  42. const uint KEYUP = (72 << 8);
  43. const uint KEYDOWN = (80 << 8);
  44. const uint KEYLEFT = (75 << 8);
  45. const uint KEYRIGHT = (77 << 8);
  46.  
  47. // only instance of this class
  48. extern CHARUSERIFACE CharUI;
  49.  
  50. #endif
  51.